iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0

簡單聊聊本系列文的選題動機,以及預計的開展方向。期待能由淺入深剖析各種 bundler、build tool 如 Webpack、Vite (Rollup/Rolldown)、esbuild、Rspack、Turbopack 等工具的特性與優缺點,並通過實際弄髒手做實驗的方式來理解它們的運作原理與實戰技巧。

day 01

(Photo by Jr Korpa)

關於主題

嗨,大家好,最後還是想不開來參加 IT 鐵人賽了。

第一篇不免俗讓我廢話一下聊聊選題動機,關於主題其實幾個月前有各種想法:

  • 網頁前端系統設計
  • 你就是那條龍:做一個全端健身紀錄 App
  • 那些我曾想搞懂的網頁開發知識大補帖

這三個主題寫起來應該都蠻有趣的,其實前兩個對我來說是更能掌握的主題,但最後卻是在昨天洗澡時突然有個靈感,不如就來研究第三個主題中的 bundler 好了,如果研究有成可能有機會完成「向某個 Rust-based bundler 發 PR」這樣遠大的目標。

會想寫這個主題是因為近幾年看到許多前端工具都從 Javascript/TypeScript 被 Rust 化,而今年初時其實曾寫過一個關於 Tree shaking 的系列文,其中有個缺憾是草稿與筆記中一直有一塊想來寫寫近代 bundler 的研究,但沒想到這個 WIP 就像是程式碼中的 TODO 一樣,大多如果你 git blame 下去可能都是好幾年前的 commit,空有想法不執行最後終究只是觀眾,不如就趁今年鐵人賽的機會來推進一下。

另外上個月剛好也看到 Rspack 1.0 正式發佈的消息,一直知道這是個由 ByteDance Infra team 開發的 Rust-based bundler,仔細一看才發現原來它其中一個特性是能做到兼容 Webpack,好像也蠻值得來實際研究看看的,如果有機會幫到目前團隊或正打算做大型專案中的 Webpack 遷移的開發者們實是好事一件。

系列文大綱

前言

網頁前端工具的前世今生

Vite 原理與實驗

Rspack 實驗

Rust 入門學習筆記

理想很遠大,但現實是骨感的,沒存稿的狀況下之後忙起來不知道能不能持之以恆,但或許這就是參加鐵人賽之所以有挑戰的一個原因。另外還有個預防針是其實我完全沒寫過任何一行 Rust 程式,說不定中途還會出現一些必須弄懂才能繼續前進的 Rust 學習筆記,但就先且戰且走了,寫一篇是一篇。

這系列因為算是做中學,期待在一些前情提要後,能以弄髒手實際做幾個實驗來學習,若過程中有錯誤再請各位讀者不吝指正,若有興趣也可以訂閱追蹤一起討論!


下一篇
Day 02:什麼是 web bundler?
系列文
Rust 的戰國時代:探索網頁前端工具的前世今生30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言